
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
<div class="archive_info">
<h1>JavaScript <span class="color_h1">字符串</span>
</h1>
<hr/>
<p class="intro">JavaScript 字符串用于存储和处理文本。</p>
<hr/>
<h2>JavaScript 字符串</h2>
<p>字符串可以存储一系列字符，如 "John Doe"。</p>
<p>字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号：</p>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
var
carname = "Volvo XC60";<br/>
var
carname = 'Volvo XC60';</div>
</div>
<p>你可以使用索引位置来访问字符串中的每个字符：</p>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
var character = carname[7];</div>
</div>
<p>字符串的索引从 0 开始，这意味着第一个字符索引值为 <span class="marked">[0]</span>，第二个为 <span class="marked">[1]</span>，以此类推。</p>
<div class="example"><h2 class="example">实例</h2> <div class="example_code">
<span style="color: #000066; font-weight: bold;">const</span> name <span style="color: #339933;">=</span> <span style="color: #3366CC;">"RUNOOB"</span><span style="color: #339933;">;</span><br>
let letter <span style="color: #339933;">=</span> name<span style="color: #009900;">[</span><span style="color: #CC0000;">2</span><span style="color: #009900;">]</span><span style="color: #339933;">;</span><br/>
<br/>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">(</span><span style="color: #3366CC;">"demo"</span><span style="color: #009900;">)</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> letter<span style="color: #339933;">;</span><br/>
</br></div><br/>
<a class="tryitbtn"  rel="noopener noreferrer" target="_blank">尝试一下 »</a>
</div>
<p>你可以在字符串中使用引号，字符串中的引号不要与字符串的引号相同:</p>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
var answer = "It's alright";<br/>
var answer = "He is called 'Johnny'";<br/>
var answer = 'He is called "Johnny"';</div>
</div>
<p>你也可以在字符串添加转义字符来使用引号：</p>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
var x = 'It\'s alright';<br/>
var y = "He is called \"Johnny\"";</div>
<br/><a class="tryitbtn"  rel="noopener" target="_blank">尝试一下 »</a>
</div>
<br/><hr/>
<h2>字符串长度</h2>
<p>可以使用内置属性 <strong>length</strong> 来计算字符串的长度：</p>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
	var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";<br/>var sln = txt.length;</div>
<br/><a class="tryitbtn"  rel="noopener" target="_blank">尝试一下 »</a>
</div>
<br/><hr/>
<h2>特殊字符</h2>
<p>在 JavaScript 中，字符串写在单引号或双引号中。</p>
<p>因为这样，以下实例 JavaScript 无法解析：</p>
<div class="code"><div>

 "We are the so-called "Vikings" from the north."<br/>
</div></div>
<p>字符串 "We are the so-called " 被截断。</p>
<p>如何解决以上的问题呢？可以使用反斜杠 (\) 来转义 "Vikings" 字符串中的双引号，如下:</p>
<div class="code"><div>

 "We are the so-called \"Vikings\" from the north."<br/>
</div></div>
<p> 反斜杠是一个<strong>转义字符</strong>。 转义字符将特殊字符转换为字符串字符：</p>
<p>转义字符 (\) 可以用于转义撇号，换行，引号，等其他特殊字符。</p>
<p>下表中列举了在字符串中可以使用转义字符转义的特殊字符： </p>
<table class="reference">
<tr>
<th>代码</th>
<th>输出</th>
</tr>
<tr>
<td>\'</td>
<td>单引号</td>
</tr>
<tr>
<td>\"</td>
<td>双引号</td>
</tr>
<tr>
<td>\\</td>
<td>反斜杠</td>
</tr>
<tr>
<td>\n</td>
<td>换行</td>
</tr>
<tr>
<td>\r</td>
<td>回车</td>
</tr>
<tr>
<td>\t</td>
<td>tab(制表符)</td>
</tr>
<tr>
<td>\b</td>
<td>退格符</td>
</tr>
<tr>
<td>\f</td>
<td>换页符</td>
</tr>
</table>
<br/><hr/>
<h2>字符串可以是对象</h2>
<p>通常， JavaScript 字符串是原始值，可以使用字符创建：
<strong>var firstName = "John"</strong></p>
<p>但我们也可以使用 new 关键字将字符串定义为一个对象： <strong>var 
firstName = new 
String("John")</strong></p>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
var x = "John";<br/>
var y = new String("John");<br/>
typeof x //  返回 String<br/>
typeof y // 返回 Object
</div>
<br/><a class="tryitbtn"  rel="noopener" target="_blank">尝试一下 »</a>
</div>
<p>
</p>
<table class="lamp"><tr>
<th style="width:34px"><img alt="Note" decoding="async" src="/images/lamp.jpg" style="height:32px;width:32px"/></th>
<td>
不要创建 String 对象。它会拖慢执行速度，并可能产生其他副作用：<br/>
</td>
</tr></table><br/>
<div class="example">
<h2 class="example">实例</h2>
<div class="example_code">
var x = "John";              <br/>
var y = new String("John");<br/>
(x === y) // 结果为 false，因为 x 是字符串，y 是对象
</div>
<br/><a class="tryitbtn"  rel="noopener" target="_blank">尝试一下 »</a>
</div><p>=== 为绝对相等，即数据类型与值都必须相等。</p>
<br/><hr/>
<h2>字符串属性和方法</h2>
<p>原始值字符串，如 "John", 没有属性和方法(因为他们不是对象)。 </p>
<p>原始值可以使用 JavaScript 的属性和方法，因为 JavaScript 在执行方法和属性时可以把原始值当作对象。</p>
<p><strong>字符串方法我们将在下一章节中介绍。</strong></p>
<hr/>
<h2>字符串属性</h2>
<table class="reference">
<tr>
<th style="width:24%">属性</th>
<th>描述</th>
</tr>
<tr>
<td>constructor</td>
<td>返回创建字符串属性的函数</td>
</tr>
<tr>
<td>length</td>
<td>返回字符串的长度</td>
</tr>
<tr>
<td>prototype</td>
<td>允许您向对象添加属性和方法</td>
</tr>
</table>
<br/><hr/>
<h2>字符串方法</h2>
<p>更多方法实例可以参见：<a  rel="noopener" target="_blank">JavaScript String 对象</a>。</p>
<table class="reference">
<tr>
<th style="width:24%">方法</th>
<th>描述</th>
</tr>
<tr>
<td>charAt()</td>
<td>返回指定索引位置的字符</td>
</tr>
<tr>
<td>charCodeAt()</td>
<td>返回指定索引位置字符的 Unicode 值</td>
</tr>
<tr>
<td>concat()</td>
<td>连接两个或多个字符串，返回连接后的字符串</td>
</tr>
<tr>
<td>fromCharCode()</td>
<td>将 Unicode 转换为字符串</td>
</tr>
<tr>
<td>indexOf()</td>
<td>返回字符串中检索指定字符第一次出现的位置</td>
</tr>
<tr>
<td>lastIndexOf()</td>
<td>返回字符串中检索指定字符最后一次出现的位置</td>
</tr>
<tr>
<td>localeCompare()</td>
<td>用本地特定的顺序来比较两个字符串</td>
</tr>
<tr>
<td>match()</td>
<td>找到一个或多个正则表达式的匹配</td>
</tr>
<tr>
<td>replace()</td>
<td>替换与正则表达式匹配的子串</td>
</tr>
<tr>
<td>search()</td>
<td>检索与正则表达式相匹配的值</td>
</tr>
<tr>
<td>slice()</td>
<td>提取字符串的片断，并在新的字符串中返回被提取的部分</td>
</tr>
<tr>
<td>split()</td>
<td>把字符串分割为子字符串数组</td>
</tr>
<tr>
<td>substr()</td>
<td>从起始索引号提取字符串中指定数目的字符</td>
</tr>
<tr>
<td>substring()</td>
<td>提取字符串中两个指定的索引号之间的字符</td>
</tr>
<tr>
<td>toLocaleLowerCase()</td>
<td>根据主机的语言环境把字符串转换为小写，只有几种语言（如土耳其语）具有地方特有的大小写映射</td>
</tr>
<tr>
<td>toLocaleUpperCase()</td>
<td>根据主机的语言环境把字符串转换为大写，只有几种语言（如土耳其语）具有地方特有的大小写映射</td>
</tr>
<tr>
<td>toLowerCase()</td>
<td>把字符串转换为小写</td>
</tr>
<tr>
<td>toString()</td>
<td>返回字符串对象值</td>
</tr>
<tr>
<td>toUpperCase()</td>
<td>把字符串转换为大写</td>
</tr>
<tr>
<td>trim()</td>
<td>移除字符串首尾空白</td>
</tr>
<tr>
<td>valueOf()</td>
<td>返回某个字符串对象的原始值</td>
</tr>
</table> <div class="scroll-top"><a >返回顶部</a></div>
</div>

    </body>
    </html>
    